package com.aier.service.forwarder;

import com.aier.bean.foreign.ForeignBase;
import com.aier.bean.forwarder.FreightForwarder;

import java.time.LocalDate;
import java.util.List;

/**
 * 货代service
 */
public interface FreightForwarderService {
    /**
     * 获取近一个月的货代报价信息
     * @return
     */
    List<FreightForwarder> getFreightForwarderOneMonth();

    /**
     * 根据 仓库代码，货代，产品型号，报价日期查询报价信息
     * @param warehouseCode
     * @param forwarderCode
     * @param sku
     * @param quoteDate
     * @return
     */
    FreightForwarder getFreightForwarderByParam(String warehouseCode, String forwarderCode, String sku, LocalDate quoteDate);



    /**
     * 根据 仓库代码,货代，产品型号查询报价信息
     * @param warehouseCode
     * @param sku
     * @return
     */
    FreightForwarder getFreightForwarderByParam(String warehouseCode, String forwarderCode, String sku);

    /**
     * 根据 仓库代码，，货代查询报价信息
     * @param warehouseCode
     * @param forwarderCode
     * @return
     */
    FreightForwarder getFreightForwarderByParam(String warehouseCode, String forwarderCode);

    /**
     * 添加货代信息
     * @param freightForwarder
     */
    void saveFreightForwarder(FreightForwarder freightForwarder);

    /**
     * 修改货代报价信息
     * @param freightForwarder
     */
    void modifyFreightForwarder(FreightForwarder freightForwarder);

    /**
     * 根据forwardId删除货代报价信息
     * @param forwardId
     */
    void removeFreightForwarder(String forwardId);

    /**
     * 根据fba获取货代信息
     * @param fbaCode
     * @return
     */
    List<FreightForwarder> getFreightForwarderByFba(String fbaCode);

    /**
     * 根据fba和货代代码获取货代信息
     * @param fbaCode
     * @param forwarderCode
     * @return
     */
    FreightForwarder getFreightForwarderByFbaAndForwarderCode(String fbaCode,String forwarderCode);
}
